Data carrier having address mode extension means and data carrier having command extension means

ABSTRACT

A data carrier ( 1 ) for the communication of transmission information (UI) to communication station ( 2 ), including program memory means ( 9 ) for the storage of a program code (PC) including instruction information (II) and associated address information (AI) in at least one program code line (PCZ), and including data memory means ( 10 ) for the storage of data information (DI) and including computing means ( 8 ) for the execution of the stored program code (PC) in order to process the communicated transmission information (UI), where for each program code line (PCZ) address mode information (AAI) included in the instruction information (II) and the associated address information (AI) can be determined and can be processed in order to access a memory location of the program memory means ( 9 ) or the data memory means ( 10 ), now includes address mode extension means ( 12 ), which in the presence of specific address information (AI) are adapted to determine stored additional address mode information (ZAAI) which identifies an additional address mode, by means of which additional address information (ZAI) can be determined, which additional address information (ZAI) can be processed by the address mode extension means ( 12 ) in order to access a memory location of the program memory means ( 9 ) or of the data memory means ( 10 ).

[0001] The invention relates to a data carrier as defined in the openingpart of claim 1, to a data carrier as defined in the opening part ofclaim 6, and to an integrated circuit as defined in the opening part ofclaim 7.

[0002] Such a data carrier of the type defined in the opening part ofclaim 1 is known from the document WO99/50738 and takes the form of atransponder of a smart card. The known data carrier is adapted tocommunicate transmission information to or from a communication station.In order to process and store transmission information received bycommunication means of the data carrier the known data carrier hasprogram memory means, data memory means and computing means.

[0003] The program memory means stores the program code of a processingprogram which defines the functionality of the transponder. Thecomputing means are adapted to read the program codes stored in theprogram memory means and to execute the processing program. Transmissioninformation received by the communication means is then processed inaccordance with the processing program and is stored, if applicable, inthe data memory means as data information. Likewise, data informationstored in the data memory means can be processed by the computing meansin accordance with the processing program and can be transmitted to thecommunication station by the communication means as transmissioninformation.

[0004] The program code includes program code lines which each includeinstruction information and, if applicable, address information and datainformation. The instruction information includes command informationand, if applicable, address mode information. The address modeinformation and the address information identify a memory location ofthe program memory means or the data memory means.

[0005] It has been found that the known data carrier has the drawbackthat the computing means (for example a 80C51 processor) allow only avery limited number (for example 256) of instruction information unitsto be used. For the programmer of the program codes both the commandsexecutable by the computing means and the address modes executable bythe computing means for access to a memory location are dictated by thelimited number of instruction information units, which number isdetermined almost wholly by the manufacturer of the computing means.This has the drawback that an optimization of the instructioninformation for the relevant functionality of a transponder, in order toachieve a most efficient program code, which saves both memory space andcomputing time and also precludes a high power consumption of thetransponder, is virtually impossible.

[0006] For these computing means tools necessary for drawing up theprogram code (for example assemblers, compilers, emulators, . . . ) areavailable but these can be utilized only in the case of compliance withthe instruction information laid down by the manufacturer of thecomputing means. Since a modification of these tools would involve asubstantial effort a change of the instruction information issubstantially impossible for economic reasons.

[0007] Moreover, a change of the instruction information in order tooptimize the program code would have the drawback that previous programcodes, which already may have been in use for years and which aretherefore highly reliable, cannot be used as part of a new program codebecause the code of the modified instruction information would haveanother meaning.

[0008] It is an object of the invention to provide a data carrier and anintegrated circuit in which the program code can be optimized by meansof additional commands or address modes and which in spite of this allowthe continued use of existing instruction information and tools. Thisobject of enabling additional address modes to be obtained is achievedby means of the measures defined in the characterizing part of claim 1in the case of a data carrier as defined in the opening part of claim 1and by the measures defined the characterizing part of claim 7 in thecase of an integrated circuit as defined in the opening part of claim 7.

[0009] Thus, it is achieved that in the case of specific addressinformation included in a program code line additional hardware, i.e.address mode extension means, is activated which determines additionaladdress mode information stored in the data memory means or the programmemory means, which address mode information is characteristic of afurther address mode not available in the instruction informationprovided by the manufacturer of the computing means. Depending on theaddress mode thus determined the address mode extension means determineadditional address information with which the data memory means orprogram memory means can be accessed by means of an access stage and thedata information thus determined is supplied to the computing means.

[0010] Making further address modes possible has the advantage thatfurther possibilities are obtained for optimizing the program codes forthe data carrier and, in addition, enables the tools offered with thecomputing means to be used because the further address modes arecharacterized by specific address information and not by additionalinstruction information.

[0011] It is to be noted that address extension means for computingmeans are known from the document U.S. Pat. No. 5,918,243, which includeten registers and ten offset registers, each register having anassociated offset register. When the address information whichcharacterizes one of these registers is included in a program code lineexecuted by the computing means, the address information stored in theoffset register is added to the address information stored in theregister so as to determine additional address information. However,this program code line executed by computing means should includeadditional address mode information in the instruction information inorder to achieve the addition of the address information stored in theregister and that in the offset register.

[0012] However, this leads to the afore-mentioned drawback that thisadditional address mode information would have to be included fordifferent command information and would require a large amount ofadditional instruction information, which has the disadvantage that theavailable tools cannot be used for such a program code to be executed bythe computing means.

[0013] The measures defined in claim 2 make it possible for the addressmode extension means to determine the program memory or data memorydesignated for the access by analysis of the detected additional addressmode information. This is particularly advantageous when addressinformation identifies a memory location in the program memory as wellas another memory location in the data memory.

[0014] The measures defined in claim 3 make it possible that, forexample, the third entry in an address information table is identifiedby the additional address mode information, upon which the addressinformation in this third entry of the address information table is usedas additional address information for the access to a memory location.Likewise, the additional address information ZAI determined by anaddition of this address information AI in the third entry of theaddress information table to address information AI included in theprogram code line PCZ could be used for the access to a memory location.These additional address modes could provide a further optimization ofthe program code PC.

[0015] The measures defined in claim 4 and claim 5 enable furtheraddress modes for the optimization of the program code to be obtained.For example, additional address mode information may identify an addressmode in which an address decrementing operation is performed only aftera read access.

[0016] The afore-mentioned object of enabling additional commands to beobtained is achieved by means of the measures defined in thecharacterizing part of claim 6 in the case of a data carrier as definedin the opening part of claim 6 and by the measures defined thecharacterizing part of claim 7 in the case of an integrated circuit asdefined in the opening part of claim 7.

[0017] Thus, it is achieved that for specific address informationincluded in a program code line additional hardware, i.e. commandextension means, is activated, which additional hardware determinesadditional command information stored in the data memory means or theprogram memory means and identifying a further additional command notavailable in the instruction information provided by the manufacturer ofthe computing means. For example, the register content or the count ofthe program counter of the computing means are changed in accordancewith the detected additional command, in order to give the computingmeans an additional functionality during the processing of the commandinformation of one of the following program code lines.

[0018] The fact that additional commands are possible has the advantagethat further possibilities of optimizing the program code for the datacarrier and, in addition, the tools available for the computing meanscan be used because the additional commands are identified by specificaddress information and not by additional instruction information.

[0019] The invention will now be described in more detail with referenceto the drawings, which show two embodiments given by way of example butto which the invention is not limited.

[0020]FIG. 1 is a block diagram of a data carrier provided with addressmode extension means in order to enable additional address modes to beobtained.

[0021]FIG. 2 symbolically shows the structure of the informationincluded in a program code line of a program code stored in programmemory means of the data carrier shown in FIG. 1.

[0022]FIG. 3 shows certain memory locations of data memory means of thedata carrier shown in FIG. 1.

[0023]FIG. 4 is a block diagram of a data carrier provided with commandextensions means in order to enable additional commands to be obtained.

[0024]FIG. 1 shows a data carrier 1 and a communication station 2, whichare adapted to communicate transmission information U1. Duringcommunication the communication station 2 can transfer transmissioninformation U1 to the data carrier 1, which transmission information isprocessed in the data carrier 1 and, if required, is stored as datainformation DI. It is likewise possible that during communication datainformation DI stored in the data carrier 1 is processed by the datacarrier 1 and is transferred to the communication station 2 astransmission information UI.

[0025] To communicate and to process the transmission information UI thecommunication station 2 has a first antenna 3 and processing means 4. Toconvey the transmission information UI the data carrier 1 hascommunication means 5, which include a second antenna 6 and acommunication stage 7. In a receive mode, when transmission informationUI is received, the communication stage 7 is adapted to demodulate thetransmission information IU and to supply the demodulated transmissioninformation UI to computing means 8 of the data carrier 1. In a transmitmode the communication stage 7 is adapted to modulate the transmissioninformation UI supplied to the communication stage 7 by the computingmeans 8 and to apply the modulated transmission information UI to thesecond antenna 6.

[0026] The data carrier 1 further includes a voltage supply stage, aprocessing clock generation stage as well as further stages which arecustomary for contactless communication with the communication station 2and which are not shown in FIG. 1 because they are not relevant to theinvention.

[0027] The data carrier 1 further includes program memory means 9 forthe storage of a program code PC including instruction information IIand associated address information AI in at least one program code linePCZ. The program memory means 9 of the data carrier 1 are formed by aso-called ROM (Read Only Memory).

[0028] The data carrier 1 in addition includes data memory means 10formed by a so-called RAM (Random Access Memory). Both the memorylocations of the program memory means 9 and the memory locations of thedata memory means 10 can be addressed by means of 16 bit addressinformation AI, which is why the program memory means 9 and the datamemory means 10 have a memory sector of 64 kbytes each. A part of thedata memory means 10 can also be addressed as a direct access datamemory by means of address information AI having only 8 bits.

[0029]FIG. 2 symbolically shows the structure of the informationincluded in one of the program code lines PCZ of the program code PCstored in program memory means 9. Each program code line PCZ of theprogram code PC contains at least the instruction information II, whichincludes at least one item of command information BI. The instructioninformation II, which includes at least one item of command informationBI, may be formed, for example, by the command information BI=“NOP” (NoOperation), which is used for programming a waiting operation of thecomputing means 8.

[0030] However, in addition to the instruction information II, a programcode line PCZ of the program code PC may also include addressinformation AI. In that case the instruction information II includesboth the command information BI and address mode information AAI. Theaddress mode information AAI specifies the mode of addressing a memorylocation by means of the address information AI. Both the so-calleddirect addressing and the so-called indirect addressing are known tothose skilled in the art. It is to be noted that address modeinformation AAI may also be included in instruction information II of aprogram code line PCZ without any address information AI.

[0031] In addition to the instruction information II and addressinformation AI, a program code line PCZ may further include datainformation DI. Such a program code line PCZ is formed by, for example,the program code line PCZ=“MOV A, #10”. Here, the command “MOV” formsinstruction information II, the designation “A” of the memory locationof an accumulator forms address information AI, and the numerical value“10” forms data information DI. During processing of this program codeline PCZ by the computing means 8 the numerical value “10” is loadedinto the accumulator “A”.

[0032] The computing means 8 of the data carrier 1 are formed by themicroprocessor 80C51, which is known to those skilled in the art. Amultitude of other similar microprocessors suitable for use as computingmeans 8 in the data carrier 1 are known to those skilled in the art.However, common to all these computing means is that the manufacturersof such computing means define a command set (number and type ofpossible commands) and the possible address modes for addressing theprogram memory means 9 or the data memory means 10 and all the possibleinstruction information II which can then be processed by the computingmeans. For example, for the microprocessor 80C51 256 different items ofinstruction information II are defined and are possible.

[0033] For such computing means tools (for example assemblers,compilers, emulators, . . . ) are made available in order the facilitatethe work of programmers who draw up and test the program code PC for thecomputing means. However, these tools can be utilized only if theinstruction information II laid down by the manufacturer is used withoutany changes. In practice, this often has the consequence that aprogrammer cannot optimize the program code PC of the data carrier 1 forthe situation in which the data carrier 1 is used, in order to obtain aprogram code PC which is as efficient as possible and which saves bothmemory space and computing time and also precludes a high powerconsumption of the data carrier 1.

[0034] The computing means 8 include inter alia a program count registerinto which the numerical value “0” is loaded as the program count PZafter a reset of the computing means 8 at the beginning of acommunication with the communication station 2. After this instant theprogram count PZ is each time incremented by “1” in accordance with theprocessing clock rate of the computing means 8. The computing means 8are adapted to transfer the numerical value of the respective programcount PZ to the program memory means 9 and to read out the program codeline PCZ of the program code PC stored in the program memory means 9,which program code line corresponds to the respective program count PZ.

[0035] Subsequently, the computing means 8 process the program code linePCZ thus read out. Depending on the information present in a programcode line PCZ the address mode information AAI included in theinstruction information II of the program code line PCZ and theassociated address information AI included in this program code line PCZis determined and is processed in order to access a memory location.

[0036] The data carrier 1 further has an access stage 11 which canreceive the address information AI and, if applicable, the datainformation DI. Depending on the address information AI applied to theaccess stage 11 by the computing means 8 the access stage 11 can accessa memory location of the program memory means 9 as well as a memorylocation of the data memory means 10. During the write access thecomputing means 8 can supply the data information DI to be written orstored in a memory location to the access stage 11 and can be appliedfrom the access stage 11 to the program memory means 9 or the datamemory means 10. During the read access data information DI read out ofthe program memory means 9 or the data memory means 10 by the accessstage 11 can be supplied to the computing means 8.

[0037] The data carrier 1 now has address mode extension means 12, whichinclude a switch 13, an address decoder 14, and an address modeextension stage 15. Address information AI supplied by the computingmeans 8 when the program memory means 9 or the data memory means 10 areaccessed can be applied to the switch 13 and to the address decoder 14.

[0038] The address decoder 14 is adapted to detect specific addressinformation AI and to supply, upon detection of this specific addressinformation AI, switch information SI to the switch 13. In the presentexample this specific address information is AI=“80”. In the absence ofthe switch information SI the switch 13 is arranged to supply theaddress information AI applied to this switch to the access stage 11and, when the switch information SI is present, to supply the appliedaddress information AI to the address mode extension stage 15.

[0039] When the switch 13 has transferred the address information AI tothe address mode extension stage 15 the address mode extension stage 15is adapted to read additional address mode information ZAAI stored in afunction register FR and to read address information AI stored in anaddress register AR. As a result of evaluation of the additional addressmode information ZAAI and the address information AI read from theaddress register AR the address mode extension stage 15 is adapted todetermine additional address information ZAI for the access to memorylocations of the program memory means 9 or the data memory means 10, aswill be described in greater detail hereinafter.

[0040]FIG. 3 shows memory locations of the data memory means 10, onememory location with the address information AI=“5” forming the functionregister FR and storing the numerical value “01” and two memorylocations with the address information AI=“06” and AI=“07” forming theaddress register AR for the 16-bit addresses and storing the numericalvalue “0020”. Three further memory locations of the data memory means 11form a data buffer, have the address information AI=“0020”, “0021” and“0022” and store the numerical values “10”, “30” and “40”.

[0041] The mode of operation of the data carrier 1 shown in FIG. 1 willbe explained hereinafter with reference to two examples of use. In thefirst example of use it is assumed that the desired mode of operation ofthe data carrier 1 requires a program code PC having at least twoprogram code lines PCZ, by means of which the numerical values each timestored in the three memory locations of the data buffer DP of the datamemory means 10 should be added. This requires a particularly effectiveaddress mode of the memory locations of the data buffer DP. With theaddress mode extension means 13 this task can be fulfilled by means ofthe only six program code lines PCZ given hereinafter, whose processingby the computing means 8 is explained hereinafter.

[0042] PCZ1: MOV FR, #01

[0043] PCZ2: MOV ARL, #20

[0044] PCZ3: MOV ARH, #00

[0045] PCZ4: MOV A, 80

[0046] PCZ5: ADD A, 80

[0047] PCZ6: ADD A, 80

[0048] When the first program code line PCZ1 in the program memory means9 is loaded by the computing means 8 and is executed by the computingmeans 8, the numerical value “01” is loaded into the function registerFR. The computing means 8 then supply the address information AI=“05” ofthe function register FR to the address mode extension means 12 andsupply the data information DI=“01” to the access stage 11. Since theaddress information AI=“05” is not a specific address information AI theaddress decoder 14 does not supply any switch information SI to theswitch 13, for which reason the address information AI=“05” is appliedto the access stage 11. The access stage 11 subsequently loads thenumerical value “01” in the function register FR with addressinformation AI=“05” into the data memory means 10.

[0049] The numerical value “01” in the function register FR identifies afirst additional address mode of the address mode extension means 12, inwhich after the access to the addressed memory location by the accessstage 11 the numerical value “01” is added to the numerical value storedin the address register AR, which will be explained hereinafter.

[0050] During the subsequent execution of the second program code linePCZ2 the numerical value “20” is stored into the less significant byteof the address register AR and during the execution of the third programcode line PCZ3 the numerical value “00” is stored in the moresignificant byte of the address register AR.

[0051] In the known address mode of the microprocessor 80C51 thenumerical value stored in the memory location of the data memory means10 with the address information AI=“80” would be loaded into theaccumulator A of the computing means 8 during the subsequent executionof the fourth program code line PCZ4. However, in the present examplethe address information AI=“80” is detected by the address decoder 14 asspecific address information AI and the switch information SI issupplied to the switch 13.

[0052] Subsequently the address information AI=“80” is applied to theaddress mode extension stage 15. At the beginning of this addressinformation AI the address mode extension stage 15 reads the numericalvalue “01”, stored in the function register FR as additional addressmode information ZAAI, with the aid of the access stage 11. Thenumerical value “01” identifies the first additional address modedescribed hereinbefore, upon which the address information AI=“0020”stored in the address register AR is supplied unchanged to the accessstage 11 as additional address information ZAI in order to read thenumerical value stored in this memory location of the data buffer DP.The access stage 11 subsequently detects the numerical value “10” storedin the memory location with the address information AI=“0020” andapplies this to the computing means 8 as data information DI=“10”. Thecomputing means 8 store this data information DI=“10” in the accumulatorA.

[0053] During the execution of the first additional address mode, afterthe address information AI stored in the address register AR has beenapplied to the access stage 11, the address mode extension stage 15 addsthe numerical value “01” to the address information AI stored in theaddress register AR and loads this numerical value “0021” into theaddress register AR. The address register AR consequently contains thenumerical value “0021” after the first execution of the first additionaladdress mode.

[0054] As a result of this, it is advantageously achieved that, by meansof the address mode extension stage 12 in the first additional addressmode, instruction information II=“MOV Register, Address X” defined bythe manufacturer of the computing means 8 does not give access to thememory location with the address information AI=“Address X” but toanother memory location whose address information AI is stored in theaddress register AR. A particularly advantageous feature is theincrementation of the address information AI in the address register ARafter the read access by the access stage 11, the access to the nextmemory location of the data buffer thus being prepared for already.

[0055] During the execution of the fifth program code line PCZ5, inaccordance with the processing described hereinbefore, the numericalvalue “30” stored in the memory location with the address informationAI=“0021” is added to the numerical value “10” stored in the accumulatorA, upon which the numerical value “40” is loaded into the accumulator A.After the address information AI=“0021” read out of the address registerAR has been supplied to the access stage 1 the address mode extensionstage 15 adds the numerical value “01” to the address informationAI=“0021” and the address information AI=“0021” is loaded into theaddress register AR.

[0056] During the execution of the sixth program code line PCZ6, inaccordance with the processing described hereinbefore, the numericalvalue “40” stored in the memory location with the address informationAI=“0022” is added to the numerical value “40” stored in the accumulatorA, upon which the numerical value “80” is loaded into the accumulator A.After the address information AI=“0022” read out of the address registerAR has been supplied to the access stage 11 the address mode extensionstage 15 adds the numerical value “01” to the address informationAI=“0622” and the address information AI=“0023” is loaded into theaddress register AR.

[0057] This has the advantage that without any change of the instructioninformation II defined by the manufacturer of the computing means 8 theaddress mode extension means 12 enable a particularly efficientadditional address mode of the computing 8 to be obtained in order toaccess memory locations of the program memory means 9 or the data memorymeans 10. The available tools can be used in order to program theprogram code PC stored in the program memory means 9. Moreover, sincethe instruction information II specified by the manufacturer aremaintained, parts of the program code PC which already exist in otherdata carriers can be included in the program code PC stored in theprogram memory means 9.

[0058] It is to be noted that with the aid of the address mode extensionmeans 12 arbitrary address incrementations and address decrementationsusing different offset values (for example +1, +3, +10 . . . ; −1, −5,−12) are possible. Likewise, the address incrementation or addressincrementation may be performed only before or after a write access oronly before or after a read access.

[0059] In a second example of use of the embodiment shown in FIG. 1 itis assumed that the desired mode of operation of the data carrier 1requires a program code PC with an effective address mode, in which asubprogram for accessing memory locations is to be called by means oftwo different subprogram-call program code lines PCZ of the program codePC. When this subprogram is called by a first subprogram-call programcode line PCZ of the program code PC numerical values should be loadedfrom memory locations of the program memory means 9 into the accumulatorA and when this subprogram is called by a second subprogram-call programcode line PCZ of the program code PC numerical values should be loadedfrom memory locations of the data memory means 10 into said accumulatorA.

[0060] However, the definition of the instruction information II by themanufacturer of the microprocessor 80C51 specifies the instructioninformation II=“MOVC” for a MOVE command from a memory location of theprogram memory means 9 and the instruction information II=“MOV” for aMOVE command from a memory location of the data memory means 10. Thus,in the case of conventional programming of the microprocessor 80C51, twovery similar subprograms would have to be programmed and stored in theprogram memory means 9 as program codes PC, which would bedisadvantageous.

[0061] This effective address mode for the programming of theafore-mentioned subprogram can be obtained for the data carrier 1 shownin FIG. 1 in that a second additional address mode is identified by thenumerical value “02” in the function register FR and a third additionaladdress mode is identified by the numerical value “03” in the functionregister FR for the address mode extension means 12. For the call of thesubprogram by the first subprogram-call program code line PCZ thenumerical value “02” and for the call of the subprogram by the secondsubprogram-call program code line PCZ the numerical value “03” is loadedinto the function register FR and the address information AI of thememory location to be accessed in the subprogram is loaded into theaddress register AR.

[0062] As already explained for the first example of use, the subprogramincludes the program code line PCZ=“MOV A, 80” in order to activate theaddress mode extension stage 15 for the access to the memory locationidentified by the address information AI stored in the address registerAR.

[0063] If now after the call of the subprogram the program code linePCZ=“MOV A, 80” is executed by the computing means 8 the address modeextension stage 15 is activated by the specific address informationAI=“80”. The address mode extension stage 15 subsequently determines thenumerical value “02” or “03” which forms the additional address modeinformation AAI stored in the function register FR and which identifiesthe program memory means 9 or data memory means 10 to be accessed.

[0064] When the function register FR contains the numerical value “02”the memory location of the program memory means 9 identified by theaddress information AI stored in the address register AR is accessedwith the aid of the access stage 11. On the other hand, when thefunction register FR contains the numerical value “03” the memorylocation of the data memory means 10 identified by the addressinformation AI stored in the address register AR is accessed with theaid of the access stage 11.

[0065] This has the advantage that the subprogram of the program code PCcan be used for accessing memory locations of the program memory means 9as well as of the data memory means 10, as a result of which memoryspace in the program memory means 9 can be saved.

[0066]FIG. 4 shows a data carrier 16 whose structure corresponds to thatof the data carrier 1 shown in FIG. 1 but which includes commandextension means 17 instead of the address mode extension means 12. Thestructure of the command extension means 17 corresponds to the structureof the address mode extension means 12 but instead of the address modeextension stage 15 a command extension stage 18 has been provided. Thecommand extension stage 18 can also receive the data information DIsupplied to the access stage 11 by the computing means 8.

[0067] When specific address information AI is present the commandextension means 17 are adapted to change the processing of one of theprogram code lines by the computing means 8 and thus to enable anadditional command for the computing means 8. This allows the commandset of the computing means 11 to be extended, while at the same time thetools available with the computing means 11 can still be used.

[0068] In the present example a REPEAT command as additional command anda “REPEAT” register for this command are defined in the commandextension means 17, which register is formed by a memory location of thedata memory means 10, which memory location has the specific addressinformation AI=“81”. When the computing means 8 supply this specificaddress information AI=“81” and data information DI to the commandextension means 17 the program count PZ of the computing means 8 for thenext program code line PCZ to be executed is stopped a number of timescorresponding to the numerical value of the data information DI, whichwill be described in more detail hereinafter.

[0069] The execution of the additional REPEAT command is explained bymeans of an example of the processing of the program code PC stored inthe program memory means 9 of the data carrier 16. In accordance withthe task envisaged in the present example of use it is assumed that thedesired mode of operation of the data carrier 1 requires a program codePC with effective command information BI, where for a given state ofprocessing of the received transmission information UI the computingmeans 8 should wait for a given time interval, which time interval isdefined by 30 times the duration of a processing clock period of thecomputing means 8.

[0070] The manufacturer of the microprocessor 80C51 has defined commandinformation BI=“NOP” (No Operation), which causes the microprocessor80C51 to wait for the duration of a processing clock period. To achievethe task envisaged in the present example of use with conventionalprogramming of the computing means 8, this would require the inclusionof 30 program code lines PCZ=“NOP” in the program code. To achieve thetask it would also be possible to include a program loop with a loopcounter in the program code PC, which loop would require about 10program code lines PCZ.

[0071] In order to achieve the task envisaged in the example of use theprogram memory means 9 in the data carrier 16 contain only the programcode line PCZ=“MOV REPEAT, #30” followed by the program code linePCZ=“NOP” in the program code PC.

[0072] When the program count PZ of the computing means 8 for examplehas the numerical value “1221” and for this program count PZ thecomputing means 8 detect the program code line PCZ=“MOV REPEAT, #30” inthe program memory means 9, the computing means 8 supply the addressinformation AI=“81” and the data information DI=“30” to the commandextension means 17. The address decoder 14 identifies the addressinformation AI=“81” as specific address information AI and suppliesswitch information SI to the switch 13, upon which the addressinformation AI=“81” is applied to the command extension stage 18. Afterprocessing of this program code line PCZ by the computing means 8 theprogram count PZ is incremented to the numerical value “1222” by thecomputing means 8 and the program code line PCZ=“NOP” stored in theprogram memory means 9 for said program count PZ is detected by thecomputing means 8 and is executed.

[0073] The address information AI=“81” activates a hardware module inthe command extension stage 18, which in accordance with the datainformation DI=“30” supplies change information VI to the computingmeans 8 during the next 30 processing clock periods of the computingmeans 8. The change information VI causes the program count PZ in thecomputing means 8 to be reset to the numerical value “1222” after theincrementation to the numerical value “1223” by the computing means 8,as a result of which the computing means 8 again detect and process theprogram code line PCZ=“NOP”.

[0074] When after the time interval of 30 processing clock periods thecommand extension means 18 no longer supply any change information VI tothe computing means 8 the processing of the program code PC stored inthe program memory means 9 is continued with the program code line PCZwhich corresponds to the numerical value “1223”.

[0075] This has the advantage that, as a result of the additional REPEATcommand, a particularly efficient programming of the task in accordancewith the example of use is possible, which enables the memory space inthe program memory means 9 as well as the power consumption of the datacarrier 16 during the processing of the program code PC to be reduced.An additional advantage is that during programming of the program codePC the available tools can be utilized because the manufacturer'sinstruction information II has not been changed.

[0076] A further additional command could be activated for example inthat the specific address information AI=“82” is applied to the commandextension means 17. Thus, a multitude of possible additional commandswill be evident to one skilled in the art, enabling the command set laiddown by the manufacturer of the computing means 8 to be extended and tobe adapted to the given situation of use.

[0077] It is to be noted that in a further additional address mode anaddress information table stored in the program memory means 9 or thedata memory means 10 could be used for accessing the memory locations.The additional address mode information ZAAI could then identify one ofthe entries in the address information table, thus enabling the addressinformation AI entered in this entry of the address information table tobe used as additional address information ZAI for accessing a memorylocation. Likewise, the additional address information ZAI determined byan addition of this address information AI entered into the addressinformation table to address information AI contained in the programcode line PCZ could be used for accessing a memory location. Theseadditional address modes would enable the program code PC to be furtheroptimized.

[0078] It is to be noted that a data carrier may include both addressmode extension means and command extension means. Advantageously, thiswould make it possible to provide only one address decoder and oneswitch for the address mode extension means and the command extensionmeans.

[0079] It is to be noted that the command extension stage 18 could readout an additional command register which basically serves the samefunction as the function register FR in the address mode extension stage15 and which could be used to define additional command information. Inthat case the numerical value stored in the additional command registercould represent one of a plurality of possible additional commands andidentify these for the command extension stage 18.

[0080] It is to be noted that the computing means 8 may, for example,also supply status information about the status of the processing statein the computing means 8 to the command extension stage 18 and thechange information VI supplied by the command extension stage 18 couldbe modified in accordance with the status information applied to it.

1. A data carrier (1) for the communication of transmission information(UI) to communication station (2), including program memory means (9)for the storage of a program code (PC) including instruction information(II) and associated address information (AI) in at least one programcode line (PCZ), and including data memory means (10) for the storage ofdata information (DI) and including computing means (8) for theexecution of the stored program code (PC) in order to process thecommunicated transmission information (UI), where for each program codeline (PCZ) address mode information (AAI) included in the instructioninformation (II) and the associated address information (AI) can bedetermined and can be processed in order to access a memory location ofthe program memory means (9) or the data memory means (10),characterized in that address mode extension means (12) are included,which in the presence of specific address information (AI) are adaptedto determine stored additional address mode information (ZAAI) whichidentifies an additional address mode, by means of which additionaladdress information (ZAI) can be determined, which additional addressinformation (ZAI) can be processed by the address mode extension means(12) in order to access a memory location of the program memory means(9) or of the data memory means (10).
 2. A data carrier (1) as claimedin claim 1 , characterized in that in the presence of additional addressmode information (ZAAI) which identifies the program memory (9) or thedata memory (10) the address mode extension means (12) are adapted toaccess the memory location identified by the additional addressinformation (ZAI) and the additional address mode information (ZAAI). 3.A data carrier (1) as claimed in claim 1 , characterized in that the inthe presence of additional address mode information (ZAAI) whichidentifies an entry in an address information table stored in theprogram memory means (9) or the data memory (10) the address modeextension means (12) are adapted to access the memory locationidentified by the address information (AI) of the entry of the addressinformation table or to access the memory location identified by theaddress information (AI) of the entry of the address information tableplus the additional address mode information (ZAI).
 4. A data carrier(1) as claimed in claim 1 , characterized in that in the presence ofadditional address mode information (ZAAI) which identifies an addressincrementation or and address decrementation the address mode extensionmeans (12) are adapted to, respectively, increment or decrement theadditional address information (ZAI), respectively before and after anaccess to the memory location identified by the additional addressinformation (ZAI).
 5. A data carrier (1) as claimed in claim 4 ,characterized in that in the presence of additional address modeinformation (ZAAI) which identifies the address incrementation or theaddress decrementation and a write access or a read access,respectively, the address mode extension means (12) are adapted toperform the address incrementation or the address decrementation,respectively, only before or only after, respectively, a write access ora read access to the memory location identified by the additionaladdress information (ZAI).
 6. A data carrier (16) for the communicationof transmission information (UI) to communication station (2), includingprogram memory means (9) for the storage of a program code (PC)including instruction information (II) and associated addressinformation (AI) in at least one program code line (PCZ), and includingdata memory means (10) for the storage of data information (DI) andincluding computing means (8) for the execution of the commandinformation (BI) included in the instruction information (II) for eachprogram code line (PCZ) of the stored program code (PC), in order toprocess the communicated transmission information (UI), characterized inthat command extension means (17) are included, which in the presence ofspecific address information (AI) are adapted to change the processingof one of the program code lines (PCZ) by the computing means (8).
 7. Anintegrated circuit, characterized in that by means of the integratedcircuit a data carrier (1) as claimed in claim 1 or a data carrier asclaimed in claim 6 is realized.